Pedra, papel, tesoura com vetor

Depois que aprendemos à trabalhar com vetores, vamos comparar a implementação do jogo pedra, papel, tesoura feito anteriormente, com uma versão melhorada, utilizando vetores.

Jogo Pedra, Papel e Tesoura

import java.util.Scanner;
// SecureRandom é a biblioteca de sorteio de números
import java.security.SecureRandom;

public class App {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);

        // comando para preparar a variavel para o sorteio
        SecureRandom sorteio = new SecureRandom();
        String escolhaComputador = "";
        String escolhaJogador = "";

        System.out.println("Digite sua escolha (pedra, papel ou tesoura): ");
        escolhaJogador = teclado.nextLine().toLowerCase();

        // sorteia um numero de 0 à 2 (n - 1)
        switch (sorteio.nextInt(3)) {
            case 0:
                escolhaComputador = "tesoura";
                break;
            case 1:
                escolhaComputador = "pedra";
                break;
            case 2:
                escolhaComputador = "papel";
                break;
        }

        System.out.println("O computador escolheu: " + escolhaComputador);

        // lógica do jogo
        if (escolhaComputador.equals(escolhaJogador)) {
            System.out.printf("Ambos escolheram %s. Deu empate!", escolhaComputador);
        } else if (
            (escolhaJogador.equals("pedra") && escolhaComputador.equals("tesoura")) ||
            (escolhaJogador.equals("papel") && escolhaComputador.equals("pedra")) ||
            (escolhaJogador.equals("tesoura") && escolhaComputador.equals("papel"))) {
            System.out.println("Você venceu!");
        } else if (
            escolhaJogador.equals("pedra") ||
            escolhaJogador.equals("papel") ||
            escolhaJogador.equals("tesoura")) {
            System.out.println("O computador venceu!");
        } else {
            System.out.println("Opção inválida! Use pedra, papel ou tesoura.");
        }

        teclado.close();
    }
}

Compare agora com esta implementação utilizando vetor para determinar o sorteio da escolha do computador.


import java.util.Scanner;
// SecureRandom é a biblioteca de sorteio de números
import java.security.SecureRandom;

public class App { 
    public static void main(String[] args) {

        String[] opcoes = {"pedra", "papel", "tesoura"};
        Scanner teclado = new Scanner(System.in);
        SecureRandom sorteio = new SecureRandom();

        // Escolha do computador usando o array
int numeroSorteado = sorteio.nextInt(3); String escolhaComputador = opcoes[numeroSorteado]; // Escolha do jogador System.out.print("Digite sua escolha (pedra, papel ou tesoura): "); String escolhaJogador = teclado.nextLine().toLowerCase(); // Validação simples if (!escolhaJogador.equals("pedra") && !escolhaJogador.equals("papel") && !escolhaJogador.equals("tesoura")) { System.out.println("Opção inválida! Use apenas pedra, papel ou tesoura."); teclado.close(); return; } System.out.println("O computador escolheu: " + escolhaComputador); // Lógica do jogo if (escolhaComputador.equals(escolhaJogador)) { System.out.println("Empate!"); } else if ( (escolhaJogador.equals("pedra") && escolhaComputador.equals("tesoura")) || (escolhaJogador.equals("papel") && escolhaComputador.equals("pedra")) || (escolhaJogador.equals("tesoura") && escolhaComputador.equals("papel")) ) { System.out.println("Você venceu!"); } else { System.out.println("O computador venceu!"); } teclado.close(); } }